----- Original Message ----- From: SLY To: kaev@yandex.ru Sent: Friday, July 28, 2000 7:21 PM Subject: MFCByStep Привет! Вот еще одна хитрость как обмануть Windows - перетаскивание окна за форму при нажатии на левую кнопку mouse.
Вот история такая. Я тут два дня убил на тестирование :-) Пытался понять в чем прикол. Ведь она и левой кнопкой такскается сама по себе. Поэтому я таскал правой. Вся радость в том, что окно таскается только за заголовок, а в данном примере за любое место формы :-) Будьте внимательны. Создайте AppWizard приложение и посмотрите. Схватите мышкой в середине формы. Ни куда она не потянется :-). А вот, чтобы она передвигалась надо перегрузить сорбытие нажатия левой кнопки мыши через Add Windows Message Handle и написать такой код.
void CMoveWindowDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
CDialog::OnLButtonDown(nFlags, point);
ReleaseCapture();
::SendMessage(AfxGetApp()->m_pMainWnd->GetSafeHwnd(),
WM_SYSCOMMAND, SC_MOVE | HTCAPTION, 0);
}
Идея вообщем такая. Надо перенаправить сообщение передвижения мышью SC_MOVE туда кто умеет его обрабатывать HTCAPTION.
Материалы для шага прислал SLY (mailto:sly@vmz.nnov.ru?SUBJECT=FromFirstStepSite).